<?php
namespace Admin\Controller;
class GroupController extends CommonController {

	/**
	 * 分组列表
	 * @internal 此方法显示分组列表
	 * @access public
	 * @param string $numPerPage
	 * @param string $pageNum
	 * @param string $keyword 搜索关键字
	 * @since 2014-10-11 17:32:32
	 * @author FrankKung <kongfanjian@andlisoft.com>
	 */
	public function index() {
		// 获取分页等参数
		$pid        = I("get.pid", '0');
		$numPerPage = I('post.numPerPage', 20);
		$pageNum    = I('post.pageNum', 1);
		$keyword    = I('post.keyword');

		// 模型
		$Group = D("Group");

		// 模糊搜索
		C('DB_LIKE_FIELDS','name|title'); // 设置模糊查询字段
		if (!empty($keyword)) { // 搜索关键字
			$map['name|title'] = $keyword;
		}

		// 获取节点
		$list = $Group->where($map)->select();//var_dump($Group);
		$this->assign('list', $list);

		// 分页信息
		$total = $Group->where($map)->count($id);
		$this->assign('total', $total);
		$this->assign('numPerPage', $numPerPage);
		$this->assign('pageNum', $pageNum);

		// 显示
		$this->display();
	}

	/**
	 * 新增分组
	 * @internal 此方法用于新增分组
	 * @access public
	 * @param string $name
	 * @param string $title
	 * @param string $status
	 * @param string $sort
	 * @param string $show
	 * @since 2014-10-11 17:48:06
	 * @author FrankKung <kongfanjian@andlisoft.com>
	 */
	public function add() {
		// 模型
		$Group	=	D("Group");

		if (!IS_POST) { // 显示新增页面
			$this->display();
		} else {
			// 表单数据
			$data = array(
				'name'		=> I('post.name'),
				'title'		=> I('post.title'),
				'status'	=> I('post.status'),
				'createTime'=> time(),
				'sort'		=> I('post.sort'),
				'show'		=> '1',
			);
			
			$id = $Group->add($data);
			if (false !== $id) {
				$this->DwzCallback('增加分组成功');
			} else {
				$this->DwzCallback('增加分组失败', '', 300);
			}
		}
	}

	/**
	 * 删除分组
	 * @internal 此方法用于删除分组
	 * @access public
	 * @param string $id
	 * @since 2014-10-11 18:16:36
	 * @author FrankKung <kongfanjian@andlisoft.com>
	 */
	public function delete() {
		// 模型
		$Group	=	D("Group");
		// 条件
		$map['id'] = I('get.id', '0');

		$ret = $Group->where($map)->delete();
		if (false !== $ret) {
			$this->DwzCallback('删除节点成功');
		} else {
			$this->DwzCallback('删除节点失败', '', 300);
		}
	}

	/**
	 * 编辑分组
	 * @internal 此方法用于编辑分组
	 * @access public
	 * @param string $id
	 * @since 2014-10-11 18:00:10
	 * @author FrankKung <kongfanjian@andlisoft.com>
	 */
	public function edit() {
		// 参数
		$id = I('get.id', '0');
		// 模型
		$Group	=	M("Group");
		// 条件
		$map['id'] = $id;

		if (!IS_POST) { // 显示编辑页面
			// 分组信息
			$info	=	$Group->where($map)->find();
			$this->assign('info',$info);

			$this->display();
		} else { // 保存数据
			// 表单数据
			$data = array(
				'name'		=> I('post.name'),
				'title'		=> I('post.title'),
				'status'	=> I('post.status'),
				'updateTime'=> time(),
				'sort'		=> I('post.sort'),
				'show'		=> '1',
			);
			$ret = $Group->where($map)->save($data);
			if (false !== $ret) {
				$this->DwzCallback('编辑分组成功');
			} else {
				$this->DwzCallback('编辑分组失败', '', 300);
			}
		}
	}

}